]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
mpris: Expose player app
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 19 Apr 2023 10:51:14 +0000 (12:51 +0200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 15 May 2023 16:05:31 +0000 (16:05 +0000)
This will allow accessing it from the notification.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2755>

js/ui/mpris.js

index f44f87e92cf19846330a079d5474e5c8ea5847bd..93d1ec68b66f2d469e2be4eb62da40df240d5035 100644 (file)
@@ -120,6 +120,10 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter {
         return this._trackCoverUrl;
     }
 
+    get app() {
+        return this._app;
+    }
+
     playPause() {
         this._playerProxy.PlayPauseAsync().catch(logError);
     }
@@ -143,14 +147,8 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter {
     raise() {
         // The remote Raise() method may run into focus stealing prevention,
         // so prefer activating the app via .desktop file if possible
-        let app = null;
-        if (this._mprisProxy.DesktopEntry) {
-            let desktopId = `${this._mprisProxy.DesktopEntry}.desktop`;
-            app = Shell.AppSystem.get_default().lookup_app(desktopId);
-        }
-
-        if (app)
-            app.activate();
+        if (this._app)
+            this._app.activate();
         else if (this._mprisProxy.CanRaise)
             this._mprisProxy.RaiseAsync().catch(logError);
     }
@@ -222,6 +220,13 @@ var MprisPlayer = class MprisPlayer extends Signals.EventEmitter {
             this._trackCoverUrl = '';
         }
 
+        if (this._mprisProxy.DesktopEntry) {
+            const desktopId = `${this._mprisProxy.DesktopEntry}.desktop`;
+            this._app = Shell.AppSystem.get_default().lookup_app(desktopId);
+        } else {
+            this._app = null;
+        }
+
         this.emit('changed');
 
         let visible = this._playerProxy.CanPlay;